<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
</body>
</html>
<!-- JS 是动态弱类型语言  ->  所以 JS 好学，因为是「动态」，所以 JS 在执行代码的时候，会”想方设法“执行下去  -->
<script>
// number / string / boolean 间相互转换 ->  「显示转换」

// 其他数据转 数字：
  // 1) Number(表达式)  ->  
    // - 将数字的字符串转为 数字  
    // - 将 true 转为 1， false 转为 0
    // 其他的都转为 NaN
  // 2) parseInt(表达式)  ->   解析成 整数
    // 作用：将字符串从左往右解析，知道遇到 不是 数字的，停止 解析;
    // 布尔值 解析成 NaN
  // 3) parseFloat(表达式)  ->  解析成 小数
    // 其他与 parseInt 一样

// NaN： Not a Number  ->  不是一个数字
  // 含义：就是执行代码的时候，解释器 发现 某个变量不是数字，但还要做 数字类的操作，就返回 NaN
  // 注意点：NaN 不等于 任何 数据，包括自己本身
    // 9 / 'a'  ->  NaN  ;  8 / 'b'  ->  NaN
// Infinity  ->  表示无穷大


// 其他数据转成 字符串：
  // 1) 变量.toString() 
    // var num = true;
    // console.log(num.toString());
  // 2) + ，但凡 + 左右两侧 出现一个 字符串，则 + 为 ”连接符“，其表达式的返回值是 字符串
    // console.log(123 + '1');  ->  这种转换叫「隐式转换」
  // 3) String(表达式)  ->  


// 其他数据转成 布尔值：
  // Boolean(表达式)   表达式为 ''、0、NaN、null、undefined 这几个会被转为 false
    // 其他都是 true

  

</script>